A variety of computer-based services could be provided more effectively if the service provider could tailor the service to the preferences of a particular user. For example, a fact of the contemporary Internet is that its users are frequently exposed to advertising; yet, users may be annoyed by these advertisements (ads), especially when these advertisements are irrelevant to the user's interests. To support choosing advertisements judiciously, known or presumed characteristics and preferences of a user are collected in a user profile. Hence, a user profile is a collection of user characteristics and preferences.
User profiles are populated with information provided directly from the user such as the user's name and location. However, service providers need more detailed information to personalize interactions with a user.
Software service providers have attempted to build user profiles that contain as much information as possible about the user in order to tailor the content presented to the user, and/or its mode of delivery. Users may balk at providing anything more than minimal data: completing questionnaires is burdensome, and users do not want to give up their privacy by disclosing the requested personal data. Thus collecting additional user information is best performed without requiring additional effort for the users, and with a limited invasion of a user's privacy. One technique service providers have used is monitoring user web browsing activity and keystrokes. However, this is seen by many as too invasive. As a result, marketers still look for effective yet acceptable ways to assess user characteristics and preferences in order to present more effective marketing messages.